|
|
@@ -218,19 +218,20 @@ def get_screen_data(point=None, point_id=None):
|
218
|
218
|
point_measure_window=point.previous_measure_window,
|
219
|
219
|
macid__in=macids,
|
220
|
220
|
status=True,
|
221
|
|
- ).values('macid', 'temperature')
|
222
|
|
- logs = {log.get('macid'): log.get('temperature') or get_old_temperature(point.point_id, log.get('macid')) for log in logs}
|
|
221
|
+ ).values('macid', 'temperature', 'updated_at')
|
|
222
|
+ temperature_logs = {log.get('macid'): log.get('temperature') or get_old_temperature(point.point_id, log.get('macid')) for log in logs}
|
|
223
|
+ time_logs = {log.get('macid'): tc.local_string(utc_dt=log.get('updated_at'), format='%m-%d %H:%M') for log in logs}
|
223
|
224
|
|
224
|
225
|
ipuis = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True).values('pk', 'fields', 'observed_days')
|
225
|
226
|
ipuis = {info.get('pk'): {'fields': info.get('fields'), 'observed_days': info.get('observed_days')} for info in ipuis}
|
226
|
227
|
|
227
|
228
|
total_active_eqpt_num = eqpts.count()
|
228
|
|
- has_upload_temperature_num = len(logs)
|
229
|
|
- fever_num = len([1 for temperature in logs.values() if temperature > settings.FEVER_TEMPERATURE])
|
|
229
|
+ has_upload_temperature_num = len(temperature_logs)
|
|
230
|
+ fever_num = len([1 for temperature in temperature_logs.values() if temperature > settings.FEVER_TEMPERATURE])
|
230
|
231
|
|
231
|
232
|
eqpts = [{**eqpt.screen_data, **{
|
232
|
|
- 'has_upload': eqpt.macid in logs,
|
233
|
|
- 'temperature': logs.get(eqpt.macid, 0),
|
|
233
|
+ 'has_upload': eqpt.macid in temperature_logs,
|
|
234
|
+ 'temperature': temperature_logs.get(eqpt.macid, 0),
|
234
|
235
|
'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
|
235
|
236
|
}, **{field.get('key', ''): field.get('value', '') for field in ipuis.get(eqpt.ipui_pk, {}).get('fields', {})}} for eqpt in eqpts]
|
236
|
237
|
reminds = [{
|
|
|
@@ -257,7 +258,7 @@ def get_screen_data(point=None, point_id=None):
|
257
|
258
|
'age': eqpt.get('age', ''),
|
258
|
259
|
'temperature': eqpt.get('temperature', ''),
|
259
|
260
|
'status': '已上报' if eqpt.get('temperature') else '未上报',
|
260
|
|
- 'last_report_time': eqpt.get('last_submit_at', ''),
|
|
261
|
+ 'last_report_time': time_logs.get(eqpt.macid) if eqpt.get('temperature') else eqpt.get('last_submit_at', ''),
|
261
|
262
|
'observed_days': eqpt.get('observed_days', 0),
|
262
|
263
|
} for eqpt in eqpts]
|
263
|
264
|
|